Image reading apparatus

ABSTRACT

An image reading apparatus for reading a original line by line, by moving the line image sensor in a direction orthogonal to the line, in which the line sensor is displaced in the line direction in each line to read the image of the original in a checkered pattern of pixels, and for interpolating a pixel in spaces of the said checkered pattern, plural interpolation candidate values for the pixel are determined and one of them is selected according to surrounding pixel values of the said pixel position to be interpolated, thereby reproducing edge portion of the original accurately.

FIELD OF THE INVENTION

The present invention relates to enhancement of resolution of an imagereading apparatus for reading an original image.

BACKGROUND OF THE INVENTION

An image reading apparatus is used as an image input unit for facsimilemachines copier, computer, etc. The image reading method using a lineimage sensor having photoelectric converters arranged in a line iswidely employed for its excellent total performance capability includingthe reading precision and speed. In a basic method, the line imagesensor reads each line of the original image, and further moves toorthogonal direction (sub-scanning direction) to the line direction(main scanning direction) at intervals corresponding to the readingpixel interval in the line direction, thereby reading the image. On theother hand, in the background of sophistication of informationprocessing and multimedia trend, a demand for enhancement of resolutionof image reading apparatus is increased. Methods for enhancing theresolution of image reading apparatus include a method of increasing theprecision of optical system such as the lens system and also increasingthe density of photoelectric converters, and a method of readingdifferent regions on the same line with the same line image sensor bychanging over the optical system, but they are expensive because of theprecise mounting procedure and complexity of mechanism.

Accordingly, it is proposed to increase the resolution by reading theimage in the sub-scanning direction at the half line interval of theoriginal. In this method, the reading density in the sub-scanningdirection is double, but since the size of the pixels to be read is notchanged, the resolution in the sub-scanning direction is increased butis not actually doubled. Further, in the main scanning direction, pixelsare inserted between the pixels that have been already read, to make thepixel density equal in both main scanning and sub-scanning directions,and the value of the inserted pixels are given by the interpolatingvalue of either adjacent pixel of the scanning direction or the averageof both adjacent pixels. By this interpolation, the smoothness in themain scanning direction is improved, but the resolution is notincreased.

In other method proposed to improve these points, every time the lineimage sensor is moved in the sub-scanning direction at the half lineinterval of the original, it is also moved in the main scanningdirection reciprocally at the half pixel interval of the original, andthe image pixels is read to obtain a checkered pixel plane, and thepixels in the interval are interpolated by the average of adjacent fourpixels, so that the resolution is equalized in the main and sub-scanningdirections. In this method, the resolution increased in the sub-scanningdirection obtained by the above reading method is decreased in thesub-scanning direction and increased in the main scanning direction. Inother words, the resolution once increased to double as the value in theideal state in the sub-scanning direction is distributed only about{square root over ( )}2 times at most in the main scanning andsub-scanning directions.

The interpolation by the average used in both methods increases thesmoothness of the image by nature, but blunts the contract in the edgeof the image.

SUMMARY OF THE INVENTION

The invention presents a novel method to improve the resolution of theread image, and particularly reproduce edges of the original image at anexcellent contrast, which is moving the line image sensor in the mainscanning direction reciprocally at the half pixel interval of theoriginal also every time scanning in the sub-scanning direction at thehalf line interval of the original, reading the image pixels, obtaininga checkered pixel plane of pixels being read, interpolating pixels ofspaces in the said checkered pixel plane by utilizing the information ofadjacent pixels to the pixels to be interpolated, and so in principledoubling the resolution in both main and sub-scanning directions.

Basically, plural interpolation candidate values for every pixel to beinterpolated are calculated with the adjacent pixel values, and one ofthem is selected and interpolated.

One of its specific methods is a method of calculating the averagevalues of all combinations of two pixels among the four adjacent pixelsas the candidate values for every pixel to be interpolated, andselecting and interpolating the candidate value of the combination oftwo pixels having the minimum difference of the values.

In a modified method, alternatively, combinations of two pixels may belimited in two scanning directions.

For every pixel to be interpolated, in other method, when the directionof the two pixels having the minimum difference among all combinationsof two elements of the four adjacent pixels, coincides with the twoscanning directions, the candidate value determined from the values ofthe two pixels is selected, and when the direction of the two pixelsdiffers from the scanning direction, the combination of two pixels isselected by referring to the value of the already interpolated pixel inthe direction of the combination of the two pixels, and the candidatevalue determined from these values is selected and interpolated.

In a further different method, for every pixel to the interpolated,plural candidate values are determined from the values of the fouradjacent pixels, and separately using values of several interpolatedpixels adjacent to these four adjacent pixels, the predicted value forthe pixel to be interpolated is determined, and the candidate valueclose to this predicted value is selected and interpolated.

When reading a color image, meanwhile, in all interpolating methodsmentioned above, the candidate value of each pixel to be interpolated isselected according to the value of the luminosity to be combined fromthe values of the pixels of plural primary color images being read, orthe values of the pixels of the green primary color images being read,and interpolated in every pixel of every color.

Moreover, to read each one of the pixels of the checkered patternprecisely, the voltage waveform for driving the actuator for moving theimage sensor slightly in reciprocal motions must be kept as flat aspossible at the reading position, and inclines steeply when moving so asto be connected smoothly, and its method is also disclosed.

For interpolation of pixels, a method of keeping the image sensorposition always constant when starting image reading, and a method ofobtaining a favorable checkered pixel plane also when resuming afterinterrupting reading are further disclosed.

The image reading apparatus of the invention employing these methodsenhances the resolution of the read image, and reproduces the edges ofthe original image at excellent contrast in particular, and therebycontributes greatly to the progress of the information society, inparticular, the multimedia society.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is all structural diagram schematically showing a general imagereading apparatus;

FIG. 2 is a sectional view showing an internal structure of a carriagein a conventional image reading apparatus;

FIG. 3 is a sectional view showing an internal structure of a carriagein an image reading apparatus of the invention;

FIG. 4 is a structural diagram showing a detailed constitution of asensor displacement unit;

FIG. 5 is a data map showing a pixel layout when reading an image whiledisplacing;

FIG. 6 is a data map showing configuration of pixels when replaced witha mesh of double density of the pixel interval in FIG. 5;

FIG. 7 is a symbol map of read pixels in FIG. 6 and pixels to beinterpolated;

FIG. 8 is a symbol map of interpolating pixels and adjacent; pixels;

FIG. 9 is a flow chart of pixel interpolating method 2;

FIGS. 10(a), (b) are data diagrams showing the state of the edgecrossing from the northwest to the southeast direction;

FIGS. 10(c), (d) are data diagrams showing the state of the edgecrossing from the northeast to the southwest direction;

FIG. 11 is a diagram showing a window of interpolating method 3;

FIG. 12 is a diagram showing a window of interpolating method 4;

FIG. 13 is a block diagram of pixel interpolating method 1 by selectionof interpolation candidate values on G plane;

FIG. 14 is a block diagram of pixel interpolating method 3 by selectionof interpolation candidate values on G plane;

FIG. 15 is a block diagram showing an electrical system of an imagereading apparatus of the invention;

FIG. 16 is a diagram showing pattern data and actuator driving waveform;

FIG. 17 is a diagram showing an actuator driving waveform capable ofdecreasing the integration effect;

FIG. 18 is an explanatory diagram showing a control method of imagesensor displacement at reading start point;

FIG. 19 is a block diagram showing the detail of motor, controller inFIG. 15;

FIGS. 20(a), (b), (c), (d), (e), (f), (g), (h) are timing diagramsshowing operation of motor controller during interruption of imagereading; and

FIGS. 21(a), (b), (c), (d), (e), (f), (g), (h), (i) are timing diagramsshowing operation of motor controller when resuming image reading.

DESCRIPTION OF THE PREFERRED EMBODIMENTS Outline of Image ReadingApparatus

Referring first to FIG. 1, an outline is described about a generalflatbed type image reading apparatus using a line image sensor arrangingphotoelectric converters in a line. A carriage 3 mounting a reading unitis supported by support member such as shaft and rail not shown in thediagram, and its moving direction is defined in the lateral direction inthe diagram. Power generated by a drive source 4 is transmitted to adriving pulley 5 through a timing belt 6. A belt 7 is stretched betweenthe driving pulley 5 and a driven pulley 8, and depending on therotation of the driving pulley 5, the carriage 3 is moved in directiond1 or its reverse direction. The image of an original 9 on an originalplaten 2 is read line by line along with move of the carriage 3.

When the power source of the apparatus is turned on, the carriage 3,wherever located, returns to home position po1, and an aperture 14 movesto a reference acquisition, position 112 immediately beneath a whitereference panel. Lighting up a lamp 13, an image sensor 16 reads thewhite reference panel, and depending on the analog signal output, theamplification factor is determined, or the black and white levels areadjusted. Then the lamp 13 is put off, an the carriage 3 returns to homeposition po1 to be in waiting state.

Consequently, from the host system such as personal computer (PC, notshown), after setting the reading resolution, reading range, etc., whenan original reading command is issued, the reading apparatus lights upthe lamp 13 in the carriage in FIG. 2 and rotates the drive source 4,and moves the carriage 3 in direction d1 through the timing belt 6,driving pulley 6, belt 7 and driven pulley 8. Just before the carriage 3reaches the beginning of the region corresponding to the reading rangeset from the PC, the driving speed is changed to the speed correspondingto the reading resolution preset from the PC, and reading of theoriginal placed on the original platen 2 is started. The original 9 isilluminated by the lamp 13 through the original platen 2, and thereflected light from the original is reflected by reflecting mirrors 15a, 15 b, 15 c, and is reduced and focused on the image sensor 16 by afocusing lens 17, and converted into an electric signal by the imagesensor 16 and is transferred to the PC. When reading of the specifiedreading range is over, the lamp 13 is put off, and the carriage 3 ismoved in the reverse direction of direction d1, and returns to homeposition po1, and a series of reading operation is terminated.

Exemplary Embodiments

Exemplary embodiments of the invention are described below whilereferring to FIG. 1 through FIG. 21.

FIG. 3 is a sectional view showing an internal structure of a carriagein an embodiment of the invention, in which a sensor displacement unit22 for holding the image sensor 16 and moving slightly (displacing) theimage sensor 16 in its line direction at a specified amplitude and aspecified frequency is added to the general internal structure of thecarriage shown in FIG. 2.

FIG. 4 is a structural diagram of the sensor displacement unit 22 asseen from direction d2 shown in FIG. 3. Holding members 23 a, 23 b arefixed to the base bottom of the carriage 3, and plates 24 a, 24 bcomposed of plate springs are fixed to the holding members 23 a, 23 b,respectively at the upper positions. Support members 25 a, 25 b supportthe image sensor 16. By feeding a specified signal to an actuator 26 oflaminated piezoelectric element, the image sensor 16 moves in directiond3 or d4.

Referring next to FIG. 5, the layout of image data obtained bydisplacing the image sensor 16 reciprocally in the line direction isexplained below. FIG. 5 shows the pixel layout in the case of readingthe image while displacing. In FIG. 5, reference numeral 42 is a mainscanning direction which is the array direction of photoelectricconverters of the image sensor 16, and 43 is a sub-scanning direction ofthe carriage 3 containing the sensor moving in order to read. In thefollowing description of interpolation of pixels and others, the mainscanning direction 42 is referred as the horizontal direction, and thesub-scanning direction 43 is referred as the vertical direction.Reference numeral 44 refers to the size of one pixel determined mainlyby the precision of the lens, and 45 represents the displacement amountof the image sensor 16 in the main scanning direction 42 along with themove of the carriage 3 in the direction 43.

Besides, L1, L2, L3, . . . , L1, . . . , Ln are reading lines 1, 2, 3, .. . , i, . . . n (n is the maximum value of reading lines), and themagnitude of the reading pixel in the vertical direction, that is, theheight is shown together in the diagram. For example, Pij is the symbolof the j-th pixel (j=1, 2, 3, . . . , m; m being the maximum value ofthe reading pixels in the horizontal direction) from the left end ofi-th line. That is, P11, P12, P13, P14, . . . are symbols of first,second, third, fourth, . . . reading pixels on the reading line L1; P21,P22, P23, P24, . . . are symbols of first, second, third, fourth, . . .reading pixels on the reading line L2; and P61, P62, P63, P64, . . . aresymbols of first, second, third, fourth, . . . reading pixels on thereading line L6.

The line interval of the pixels to be read is half of the interval ofthe pixels in the horizontal direction. Further, as shown in thedisplacement state 45, since the pixels are being read by moving ½ eachin the horizontal direction in every effective line, the pixels includedin the even-number reading lines L2, L4, are read as being deviatedrightward in the horizontal direction by ½ of the pixel interval ascompared with the pixels included in the odd-number reading lines L1,L3,

Outline of Interpolating Method

Referring to FIG. 5, FIG. 6, FIG. 7 and FIG. 8, an outline of pixelinterpolation process is described. FIG. 6 is a data map showing theplacement of the read-in pixel Pij on a mesh of double density of thepixel pitch which replaces a mesh in FIG. 5, in both horizontaldirection and sub-scanning direction, showing a checkered pattern.Reference numeral 46 shows the size of one pixel when interpolating theread pixels in the following process. This size 46 of one pixel is about¼ in area when compared with the size 44 of one pixel in FIG. 5.

First is described about the method of interpolating the pixels at theinside of the upper, lower, right and left borders, in the pixels of theinterval of pixels being read in checkered pattern.

Pixels Xij to be interpolated are first assigned as shown in FIG. 7.That is, same as ij in Pij, i denotes the line number and j representsthe number from the left end in the horizontal direction. Wheninterpolation is processed sequentially from top to bottom, all of X(i−1)j(j=1, m) on the upper line of the pixel Xij to be interpolated arealready interpolated and its values are determined.

Meanwhile, the pixels to be interpolated later are called interpolatingpixels. As shown in FIG. 8, an interpolating pixel Xij is expressed byXc, the upper, lower, left and right directions are represented bynorth, south, west and east, and the symbols of the adjacent pixelsbeing read are expressed as Pn, Ps, Pw, Pe, and upper left and upperright interpolated pixel symbols are expressed as Xnw and Xne,respectively. The pixel data value (or called pixel value) is expressedby the same symbol as the pixel symbol.

Interpolating Method 1

A first example of interpolating method is described below

To begin with, from the pixel values of the east-west set andnorth-south set adjacent to the interpolating pixel Xc, interpolationcandidate values Awe and Ans are determined.

Awe=(Pw+Pe)/2

Ans=(Pn+Ps)/2

Next, differential values Dwe and Dns of pixels values of same set aredetermined.

Dwe=|Pw−Pe|

Dns=|Pn−Ps|

By the magnitude relation of Dwe and Dns, the interpolation values areselected as follows:

If Dwe<Dns, then Xc=Awe,

or

If Dwe≧Dns, then Xc=Ans.

In this way, for example, when the edge is continuous in the east-westdirection Pw→Xc→Pe, the pixel values on the edge line do not varysignificantly, and there is only a slight difference between the valuesof Pw and Pe, and the average Awe of Pw and Pe is selected as theinterpolating value of Xc, so that the pixel values are continuous atthe edge. In one of conventional methods of interpolation by the averageof four pixel values, generally, the pixel values at edge arediscontinuous, and the edge line is made blurry by interpolations.

In other words, extracting a set of two pixels adjacent in the east-westdirection and a set of two pixels adjacent in the north-south directionout of interpolating pixels, by using the set of smaller difference inpixel values in each set, the pixel value of the interpolating pixelposition is determined. By making use of the characteristic that thedifference of pixel values adjacent to the interpolating pixel is smallin the edge continuous direction, and that the difference of pixelvalues adjacent to the interpolating pixel is large in the directionorthogonal to the edge, interpolation suited to the edge direction isexecuted effectively. As a result deterioration of the edge portion maybe suppressed to a minimum limit. Hence, the edge portion is reproducedvery smoothly.

Or, in the portion of half tone image smoothly changing in all pixelvalues, th difference in the east-west direction and the difference inthe north-south direction of pixel values adjacent to the interpolatingpixel are similar values, and if interpolated by either interpolationcandidate value, the continuity of concentration of the half tone imageis not spoiled largely but is maintained.

Interpolating Method 2

A second example is expansion of the first method in the edge in thediagonal direction.

The following six candidate values are determined by each combination ofadjacent four pixels to the interpolating pixel Xc.

Awe=(Pw+Pe)/2

Ans=(Pn+Ps)/2

Ane=(Pn+Pe)/2

Anw=(Pn+Pw)/2

 Asw=(Ps+Pw)/2

Ase=(Ps+Pe)/2

Then, by each combination of adjacent four pixels to the interpolatingpixel Xc, each difference is determined.

Dwe=|Pw−Pe|

Dns=|Pn−Ps|

Dne=|Pn−Pe|

Dnw=|Pn−Pw|

Dsw=|Ps−Pw|

Dse=|Ps−Pe|

That is, Dwe the difference in the east-west direction, Dns is thedifference in the north-south direction, Dne and Dsw are bothdifferences from the northwest to the southeast direction, and Dnw andDse are both differences from the northeast to the southwest direction.

The minimum value is determined from the six differences of Dwe to Dse.When the Dwe is the minimum value, the edge is directed in the east-westdirection, hence

Xc=Awe;

when the Dns is the minimum value, the edge is directed in thenorth-south direction, hence

Xc=Ans.

When the Dne is the minimum value and Dsw is the next smallest value,or, to the contrary, when the Dsw is the minimum value and Dne is thenext smallest value, the edge is directed from the northwest to thesoutheast direction. Therefore, as the interpolating value of Xc, of thetwo values Ane and Asw of candidates of interpolating values in thisdirection, the one closer to the interpolated pixel value Xnw of thenorthwest direction; is selected.

Similarly, when the Dnw is the minimum value and Dse is the nextsmallest value, or, to the contrary, when the Dse is the minimum valueand Dnw is the next smallest value, the edge is directed from thenortheast to the southwest direction. Therefore, as the interpolatingvalue of Xc, of the two values Anw and Ase of candidates ofinterpolating values in this direction, the one closer to theinterpolated pixel value Xne of the northeast direction is selected.

In other cases, it may be processed by regarding as part of the planerather than part of the edge, and the interpolating value is Ane whenthe minimum difference is Dne, Anw if Dnw, Asw if Dsw, or Ase if Dse. Inthis case only, the average of four pixels used in the conventionalmethod may be selected as the interpolating value of Xc.

This method is shown in a flowchart in FIG. 9. In the flowchart, pixelsets 1 to 6 are (Pw, Pe), (Pn, Ps), (Pn, Pe), (Pn, Pw), (Ps, Pw), and(Ps, Fe).

Referring now to FIG. 10, about the interpolating method in the diagonaldirections of the east-west and north-south directions mentioned above,that is, from the northwest to the southeast direction and from thenortheast to the southwest direction, the basic principle is describedin detail below. FIG. 10(a) to (d) are data diagrams showing the edgestate, in which the dark portion denotes the object edge or its inside(low luminosity portion), and the white portion shows the object outside(high luminosity portion).

In FIG. 10(a) the object edge is present in Pn→Pe, and at this time thedifference Dne of the set 3 (112 c) and the difference Dsw of the set 5(112 e) are smaller than those of other sets. This is because the othersets all straddle over the inside and outside of the edge, and reflectthe luminosity difference between edge inside and outside. Theinterpolating pixel position Xc is outside of the object, and ispreferred to be interpolated at the value expressing a high luminosity.However, when interpolated by the average of the set of the minimumdifference, either candidate value of the average Ane of set 3 (112 c)or the average Asw of set 5 (112 e) is adopted, and it is possible to beinterpolated to the value of low luminosity. Therefore, from bothcandidate values, by selecting the one closer to the value Xnw of theinterpolated pixel at the northwest position of the interpolating pixelXc as the value of the interpolating pixel Xc, the state of the edge canbe expressed accurately.

In FIG. 10(b), although the object edge is present in Xnw Xc, by thesame reason as mentioned above, the difference Dne o the set 3 (112 c)and the difference Dsw of the set 5 (112 e) are at least smaller thanthose of other sets securely. The interpolating pixel position Xc isinside of the object, and is preferred to be interpolated at the valueexpressing a low luminosity, and same as in the case above, bydetermining the value Xc of the interpolating pixel by referring to theinterpolated pixel Xnw at the northwest pixel position of theinterpolating pixel Xc, the state of the edge can be expressedaccurately.

In FIG. 10(c) although the object edge is present in Pn→Pw, by the samereason as mentioned above, the difference Dnw of the set 4 (112 d) andthe difference Dse of the set 6 (112 f) are at least smaller than thoseof other sets securely. The interpolating pixel Xc is outside of theobject, and is preferred to be interpolated at the value expressing ahigh luminosity. However, when interpolated by the average of the set ofthe minimum difference, either candidate value of the average Anw of set4 (112 d) or the average Ase of (112 f) is adopted, and it is possibleto be interpolated to the value of low luminosity. Therefore, from bothcandidate values, by selecting the one closer to the value Xne of theinterpolated pixel the northeast position of the interpolating pixel Xcas the value of the interpolating pixel Xc, the state of the edge can beexpressed accurately.

In FIG. 10(d), although the object edge is present in Xne→Xc, by thesame reason as mentioned above, the difference Dnw of the set 4 (112 d)and the difference Dse of the set 6 (112 f) are at least smaller thanthose of other sets securely. The interpolating pixel position Xc isinside of the object, and is preferred to be interpolated at the valueexpressing a low luminosity, and same as in the case above, bydetermining the value Xc of the interpolating pixel position byreferring to the interpolated pixel Xne at the northeast pixel positionof the interpolating pixel position, the state of the edge can beexpressed accurately.

In all cases of FIG. 10, if the inside of the object expressed in thedark portion and the outside of the object expressed in the whiteportion are exchanged, the pixel values can be similarly interpolated asapparent from the description above.

Thus, interpolation is performed by using plural sets of two pixelsadjacent in the diagonal direction, in addition to sets of two pixelsadjacent in the east-west direction and sets of two pixels adjacent inthe north-south direction, relating to the interpolating pixel position.Therefore, in this method of interpolation, all edge portions in twodiagonal directions can be interpolated correctly together with theimage edge portions in the east-west direction and north-southdirection. Moreover, relating to the extracted plural sets, by selectingthe specified number of sets from the smallest difference in the pixelvalues, the pixel value at the interpolating pixel position isdetermined according to the pixel values of the selected sets and thevalue of the pixels interpolated in the past, and therefore if the edgeis continuous in the diagonal direction, the continuity of edge can besecurely maintained by suppressing random undulations in the edgeportion due to slight difference in the pixel values.

Interpolating Method 3

A third interpolating method is described below.

Same as before, the interpolating pixel is Xc, and symbols of adjacentpixels in FIG. 11 are used in the following description. The thick linein the diagram is the prediction window of the following interpolatingpixel Xc.

First, predicted value αc1 of pixel Xc is determined from the read pixeldata. The prediction window including the interpolating pixel comprisesread pixel values Pn and Pw. Supposing both pixel values to berepresentative values of the, window, the sum of the four pixel valuesin the window is expressed as

Xnw+Pn+Pw+αc 1=(Pn+Pw)×2

Of these pixel values, values of Pn, Pw, and Xnw are known, and thepredicted value αc1 of Xc is

αc 1=Pn+Pw−Xnw

This method of prediction is same as the technique of DPCM (differentialpulse code modulation) used, for example, in video compression and audiocompression technique.

On the other hand, pixel values of interpolation candidates of theinterpolating Xc are calculated in three methods. The first is todetermine plural interpolation candidate values of averages Awe, Anw oftwo sets of two pixels adjacent in the east-west direction andnorth-south direction of the interpolating pixel Xc, and average Axy offour pixels adjacent in the east-west and north-south direction of theinterpolating pixel position Xc. Awe = (Pw + Pe)/2 Ans = (Pn + Ps)/2$\begin{matrix}{{Axy} = \quad {\left( {{Pn} + {Pw} + {Pe} + {Ps}} \right)/4}} \\{= \quad {\left( {{Awe} + {Ans}} \right)/2}}\end{matrix}$

Next, comparing the predicted value αc1 and candidate values Awe, Ans,Axy, the candidate value of the smallest difference is obtained as theinterpolating pixel value.

In this way, plural interpolating candidate values are calculated fromthe adjacent pixel values to the interpolating pixel, and the predictedvalue of the interpolating pixel is determined from these pixel valuesof adjacent pixels and already interpolated pixel value, and onecandidate value closest to the predicted value is selected from thesecandidate values, and the interpolating pixel value is obtained.

Thus, the edge component can be predicted, and deterioration of edgecomponent may be suppressed to a minimum limit. For example, if an edgecontinuous in the north-south direction is present in the reading image,in the conventional interpolation by simple average, the edgeinformation is evidently blunt, but by using the algorithm described inthis embodiment the edge information is completely maintained. Hence,the edge is reproduced very smoothly. The same holds true in the edgecontinuous in the east-west direction, and in the portion of half toneimage in which all pixel values change smoothly, since the average offour adjacent pixels to the interpolating position is selected, the halftone image is reproduced more smoothly.

Interpolating Method 4

A fourth interpolating method is described below.

Same as before, the interpolating pixel is Xc, and symbols of adjacentpixels in FIG. 12 are used in the following description. The thick linein the diagram is the prediction window of the following interpolatingpixel Xc.

First, predicted values αc1, αc2 of pixel Xc are determined from theread pixel data. The window including the interpolating pixel comprisesPn, Pw and Pe as read image data. Suppose, of these three pixel values,Pn and Pw to be first representative values of the window, and Pn and Peto be second representative values of the window. The predicted valueαc1 of Xc on the basis of the first representative value is

αc 1=Pn+Pw−Xnw

according to the algorithm shown in interpolating method 3, and thepredicted value αc2 using the second representative values is

αc 2=Pn+Pe−Xne

This method of prediction is same as the technique of DPCM (differentialpulse code modulation) used, for example, in video compression and audiocompression technique.

On the other hand, pixel values of interpolation candidates of theinterpolating pixel Xc are calculated in five methods. The first is todetermine plural interpolation candidate values of averages Awe, Anw oftwo sets of two pixels adjacent in the east west direction andnorth-south direction of the interpolating pixel Xc, average Axy of fourpixels adjacent in the east-west and north-south direction of theinterpolating pixel Xc, average Anw of two pixels laid parallel in thenortheast and southwest direction adjacent to the interpolating pixelXc, and average Ane of two pixels laid parallel in the northwest andsoutheast direction adjacent to the interpolating pixel Xc.Awe = (Pw + Pe)/2 Ans = (Pn + Ps)/2 $\begin{matrix}{{Axy} = \quad {\left( {{Pn} + {Pw} + {Pe} + {Ps}} \right)/4}} \\{= \quad {\left( {{Awe} + {Ans}} \right)/2}}\end{matrix}$ Anw = (Pn + Pw)/2 Ane = (Pn + Pe)/2

Next, finding the difference between each of the predicted values αc1and αc2, and the candidate values Awe, Ans, Axy, Anw, Ane, the candidatevalue of the smallest difference is selected as the pixel value of theinterpolating pixel Xc.

In this way as a result of calculating plural predicted values andplural interpolating candidate values and selecting the candidate valueof the smallest different from the plural predicted values, in, the caseof an image having a continuous edge in the diagonal direction or animage having a half tone portion distributed widely around the edge, theedge can be reproduced more clearly compared with interpolating method3.

Interpolating Method of Border Element

When the interpolating method mentioned above is applied ininterpolation of a pixel existing on a border of image plane, the valueof the pixel existing outside of the plane is needed, and hence itcannot be applied directly. Therefore, a pixel existing on a border isinterpolated by two pixels adjacent along the border. Symbols in FIG. 7are used herein.

A first line of a border in the horizontal direction is interpolated as

X 1 j=(P 1 j+P 1(j+ ))/2

a final line n is interpolated as

Xnj=(Pnj+Pnr(j+1))/2

if the line is an odd umber line, that is, if n is an odd number, or as

Xnj=(Pn(j−1)+Pnj)/2

if n is an even number.

On a border in the vertical direction, a first pixel of a border at theleft end is

Xi 1=(P(i−1)1+P(i+1)1)/2

if i is an even-number pixel, and an m-th pixel of a border at the rightend (2m-th pixel if including the interpolating pixel) is interpolatedas

Xim=(P(i−1)m+P(i+1)m)/2

if i is an odd-number pixel.

Selecting Method of Interpolation Candidate Value when Reading ColorImage

In the foregoing description, the image data to be read by the imagereading apparatus composes one plane, but in the image reading apparatusfor reading color image, color planes are composed of at least threeprimary color image data, for example red (R), green (G), and blue (B).Each plane can be interpolated independently, but the edge informationof visual characteristic mainly depends on the luminosity information ofimage, and it is preferred to interpolate the pixel according to theluminosity information.

Expressing reading pixel values of red (R), green (G), and blue (B)respectively as P_(R)ij, P_(G)ij, P_(B)ij, pixel values at interpolatingpositions as X_(R)ij, X_(G)ij, X_(B)ij, and the pixel value representingthe luminosity as Pij, the following relation is approximatelyestablished.

Pij=0.30×P _(R) ij+0.59×P _(G) ij+0.11×P _(Bij)

Herein, the coefficient of each color pixel value differs naturally withthe spectral distribution of lighting and each primary color.

Similarly, the pixel value Xij representing the luminosity of theinterpolating position is expressed as

Xij=0.30×X _(R) ij+0.59×X _(G) ij+0.11×X _(B) ij

Therefore, using the reading pixel value Pij and interpolated pixelvalue Xij obtained by multiplying pixel value of each primary color byits coefficient and summing up, the aforesaid interpolating method isapplied. Selecting the candidate value in each interpolating pixel, anddepending on the result of selection, the pixel is interpolated byselecting the candidate value of same kind in each primary color plane.For example, when Awe is selected as the interpolating pixel value Xcfor luminosity, A_(R)we, A_(G)we, A_(B)we are selected as theinterpolating pixel values of primary colors X_(R)c, X_(G)c, X_(B)c, andeach primary color plane is interpolated. As a result, it is possible tointerpolate accurately according to the edge information for visualcharacteristic.

As understood from the formula of relation of the luminosity, since thepixel value of green primary color has a great contribution to theluminosity information, the candidate value is selected on the greenlane, and by selecting the candidate value of the same kind in eachprimary color plane and interpolating the pixel according to the resultof selection, it is possible to process similarly to the luminosityinformation processing. And the circuit configurations is simpe comparedwith the luminosity information processing.

Herein, examples of selection of interpolation candidate value on thegreen plane using interpolating method 1 and interpolating method 3 aredescribed in detail. Symbols corresponding to primary color planes areexpressed by suffixing with R, G, B same as in the case of pixel valuesX and P.

Referring first to a block diagram in FIG. 13, a case of usinginterpolating method 1 is explained.

Let us begin with processing of pixel value of green plane. A differencedetector 49 a detects difference Dwe_(G) of values of two pixelsadjacent in the east-west direction of interpolating pixel X_(G)c,whereas a difference detector 49 b detects difference Dns_(G) of valuesof two pixels adjacent in the north-south direction of interpolatingpixel. A candidate calculator 50 a calculates average Awe_(G) of valuesof two pixels adjacent in the east-west direction of interpolating pixelposition, whereas a candidate calculator 50 b calculates average Ans_(G)of values of two pixels adjacent in the north-south direction ofinterpolating pixel position. A comparator 52 compares the outputs fromthe difference detector 49 a and difference detector 49 b, and, ifDwe_(g)<Dns_(G), changes a candidate value selection signal 53 from OFFto ON. The candidate value selection signal 53 is fed into a selector54, and the selector 54 selects the output Awe_(G) of the candidatecalculator 50 a when the candidate value selection signal 53 is ON, andselects the output Ans_(G) of the candidate calculator 50 b when OFF.The output of the selector 54 is the interpolating pixel value 55 X_(G)cof the green plane.

Processing of blue plane is described. A candidate calculator 56 acalculates average Awe_(B) of values of two pixels adjacent in the eastwest direction of interpolating pixel position, whereas a candidatecalculator 56 b calculates average Ans_(B) of values of two pixelsadjacent in the north-south direction of interpolating pixel position.The candidate value selection signal 53 obtained from the green plane isalso fed into a selector 57, and the selector 57 selects the outputAwe_(B) of the candidate calculator 56 a when the candidate valueselection signal 53 is ON, and selects the output Ans_(B) of thecandidate calculator 56 b when OFF. The output of the selector 57 is theinterpolating pixel value 58 X_(B)c of the blue plane.

Similarly, processing of red plane is described. Same as in the blueplane, a candidate calculator 59 a calculates Awe_(R), and a candidatecalculator 59 b calculates Ans_(R). A selector 60 selects the outputAwe_(R) of the candidate calculator 59 a when the candidate selectionsignal is ON, and selects the output Ans_(R) of the candidate calculator59 b when OFF. The output of the selector 60 is the interpolating pixelvalue 61 X_(R)c of the red plane.

Referring next to a block diagram in FIG. 14, a case of usinginterpolating method 3 is explained.

Let us begin with processing of pixel value of green plane. A predictedvalue calculator 117 determines predicted value αc1 _(G) of theinterpolating pixel, about the image data of the green plane, byreferring to the surrounding pixel values of interpolating pixel X_(G)cand already interpolated pixel values. A candidate calculator 1 (118-1)calculates average Awe_(G) of two pixels adjacent in the east-westdirection of interpolating pixel. A candidate calculator 2 (118-2)calculates average Ans_(G) of two pixels adjacent in the north-southdirection of interpolating pixel. A candidate calculator 3 (118-3)calculates average Axy_(G) of four pixels adjacent in four directions ofnorth, south, east and west of the interpolating pixel. A differencecalculator 1 (119-1) calculates difference between the predicted valueαc1 _(G) as the output from the predicted value calculator 117 and thecandidate value Awe_(G) as the output from the candidate calculator 1(118-1). Similarly, a difference calculator 2 (119-2) calculatesdifference between the predicted value αc1 _(G) and the candidate valueAy1 _(G), and a difference calculator 3 (119-3) calculates differencebetween the predicted value αp1 _(G) and the candidate value Axy_(G). Acomparator 120 selects the smallest value of the outputs from thedifference calculator 1, difference calculator 2 and differencecalculator 3, and issues a candidate selection signal 121, and feeds itinto a selector 122. The selector 122, according to the candidate valueselection signal 121, selects and issues one of candidate valuesAwe_(G), Ans_(G), Axy_(G) issued from the candidate calculator 1(118-1), candidate calculator 2 (118-2) and candidate calculator 3(118-3). The output of the selector 122 is the interpolating pixel value123 X_(G)c of the green plane. That is, the candidate value of thesmallest difference from the predicted value αc1 _(G) is issued.

Processing of blue plane is described. A candidate calculator 1 (124-1)calculates average Awe_(B) of two pixels adjacent in the east-westdirection of interpolating pixel, a candidate calculator 2 (124-2)calculates average Ans_(B) of two pixels adjacent in the north-southdirection of interpolating pixel, and a candidate calculator 3 (124-31)calculates average Axy_(B) of four pixels adjacent in four directions ofnorth, south, east and west of the interpolating pixel. According to thecandidate value selection signal 121 obtained in the green plane, aselector 125 selects the output of the same candidate calculator numberas the output on the green plane from the candidate calculator 1(124-1), candidates calculator 2 (124-2) and candidate calculator 3(124-3). The output of the selector 125 is the interpolating pixel value126 X_(B)c of the blue plane.

Processing of red plane is same as processing of blue plane. A candidatecalculator 1 (127-1) calculates average Awe_(R) of two pixels adjacentin the east-west direction of interpolating pixel, a candidatecalculator 2 (127-2) calculates average Ans_(R) of two pixels adjacentin the north south direction of interpolating pixel, and a candidatecalculator 3 (127-3) calculates average Axy_(R) of four pixels adjacentin four directions of north, south, east and west of the interpolatingpixel. A selector 128, according to the candidate value selection signal121, selects the output of the same candidate calculator number as theoutput on the green plane from the candidate calculator 1 (127-1),candidate calculator 2 (127-2) and candidate calculator (127-3). Theoutput of the selector 128 is the interpolating pixel value 129 X_(R)cof the red plane.

So far, as examples of selection of interpolation candidate values onthe green plane, interpolating method 1 and interpolating method 3 areexplained, but other interpolating methods may be similarly applied. Theluminosity mainly responsible for edge information of visualcharacteristic is closely correlated with the green plane, and the edgeinformation of full color image is maintained almost completely, and theimage can be interpolated accurately. Further, if the registration of R,G, B colors of the image reading apparatus is slightly deviated, andcolor deviation should occur in the output image, it is effective, toreproduce the edge portion of black characters, in particular, with lesscolor blurring. Still more, in the block diagram explained above, thehardware configuration may be significantly simplified as compared withthe case of predicting the pixel values of each primary colorindependently.

Incidentally, when the input to the comparator 52 or 120 in the twoblock diagrams presented above is produced from the luminosityinformation, although the hardware scale is slightly increase, the edgeinformation of the visual characteristic may be processed moreaccurately.

Pixel Reading Method

So far, assuming that the pixel plane being read out from the originalimage is a checkerd pattern, the method of interpolating the interval ofthese pixels without losing edge; information is described. The methodof obtaining a checkered pixel plane of the reading image as thepreliminary condition is explained below.

In FIG. 15, the function and operation of the electrical system of theimage reading apparatus are described.

Red, green and blue analog video signals R, G, B from an image sensor 16are amplified and converted in an amplifier and A/D converter 27, intodigital video data R, G, B. Each digital video data is normalizedbetween white and black levels in la shading correction unit 28, andinterpolated in a pixel interpolating unit 29 (in the method mentionedabove), and converted from low resolution video data into highresolution video data. The high resolution video data is supplied in aimage processor 30 to undergo color correction and resolution conversionprocess, and once stored in a buffer 31, and the image data stored inthe buffer 31 is transferred to an external device through an interface32.

A CPU 33 controls the entire operation of the image reading apparatus.Actuator driving waveform information (pattern data) is written into apattern memory 35 by the CPU 33, and its period and amplitude are givenfrom the CPU 33 to a driving waveform generator 34, by which a drivingwaveform is generated. This driving waveform is amplified in an actuatordriver 36, and drives an actuator 26 (see a block diagram in FIG. 15). Areading reference signal generator 37 issues Hsync 38 pulse in aspecified period depending on the value preliminarily written by the CPU33. This Hsync 38 gives a one-line period, and is used in variousmodules as one-line start signal of image data processing in this imagereading apparatus.

A buffer state controller 39 monitors the situation of use of the buffer31, checking whether it is full or empty, and reports the result to theCPU 33. A motor controller 40 controls the position (motor drivingposition=carriage 3 position) depending on the driving speed and driveof a stepping motor 41.

Driving pattern data written in the pattern memory 35 is composed of 32bytes as shown in FIG. 16 (pattern numbers 0 to 31), and stored incorresponding addresses sequentially from the beginning of the patternmemory 35. As the pattern data stored in the pattern memory 35 is issuedat specified time intervals, an arbitrary driving waveform (a sinusoidalwave in FIG. 16) is generated. Moreover, the CPU 33 writes a patternupdating period δT and a pattern data update start number (patternnumber=4 in FIG. 16) into the actuator driving waveform generator 34 andwrite a generating period δT′ of Hsync 38 in the reading referencesignal generator 37. The pattern updating period δT and the generateperiod δT′ of Hsync 38 must have a strict integer ratio in order tosynchronizing actuator driving with Hsync.

In the example FIG. 16, this ratio is 8, and whenever the actuatordriving waveform generator 34 updates the pattern data eight times,Hsync 38 is generated once. Thus, when the pattern data is updated 32times, that is, in one period of waveform set in the actuator drivingwaveform generator 34, Hsync 38 is generated four times, and the phaserelation is completely synchronized.

When the CPU 33 starts the operation of the reading reference signalgenerator 37, generation of Hsync 38 is started. The CPU 33 detects thegeneration of Hsync 38 by interruption, and immediately starts theoperation of the actuator driving waveform generator 34.

Once starting the operation, the actuator driving waveform generator 34takes out the pattern data stored in the pattern memory 35 sequentiallyfrom the update starting number in every δT time, and converts ID/A (D/Aconverter not shown), and issues to the actuator driver 36. When theaccessed pattern number. exceeds 31, it returns to the beginning numberof 0. The actuator driver 36 amplifies the input level signal, anddrives the actuator 26. In the image reading apparatus of theembodiment, the actuator driver 36 drives the actuator 26 by the signalof ±50 V centered on 50 V. As a result, this signal is converted to themoving amplitude of the image sensor 16, and from 0 V to 100 V of thesignal in this example, the image sensor 16 moves by ½ of pixel spacingin the main scanning direction.

By this process, as shown in FIG. 16, updating of Hsync 38 and patterndata is completely synchronized. Moreover, the CPU 33 starts generationof Hsync 38 at an arbitrary moment, and can start the reciprocal motionof the image sensor 16 by driving the actuator 26 synchronized with thisHsync 38. Thus, the image sensor 16 reciprocally moves securely in themain scanning direction, but if the image is read while moving, theimage is blurred due to integration effect, and to prevent this, it isnecessary to read the image at position of small moving speed, or in thecase that the driving waveform is a sinusoidal wave as shown in FIG. 16,near the two apex points. Accordingly, of period A, period B, period C,. . . , the image reading data is made valid, limiting to period A andperiod C. Therefore, the subsequent data processing is executedaccording to Hsync 38 at the position indicated by ◯-mark in FIG. 16.

As described herein, the checkered pixel plane of the reading imageshown in FIG. 6 is obtained.

Improvement of Actuator Driving Waveform

A method of improving the driving waveform of the actuator is describedbelow.

As mentioned above, if the image sensor 16 reads the image while moving,the image is blurry due to integration effect. To prevent it, in thisexample, a sinusoidal wave is used as the actuator driving waveform, andit is intended to read the image near the apex of the sinusoidal wave.Further, by modifying the actuator driving waveform, image qualitydeterioration due to integration effect can be more effectively reduced.FIG. 17 is a diagram showing an example of actuator driving waveformcapable of reducing the integration effect. The waveform is generallyflat in the image reading section A and section C, and shows fast movingin section B not reading the image. By connecting waveform between thefast moving section and both ends of the flat section A and section Cwith a smooth waveform like sinusoidal, the image sensor can be moved athigh speed while reducing undesired vibration such as ringing.Therefore, the actuator driving waveform in section A and section C isgenerally flat, and is free from unnecessary vibration due to suddenspeed changes, so that the image sensor 16 can read the image almost instationary state, thereby obtaining favorable pixel data.

By such actuator driving waveform, the actuator 26 moves reciprocally inevery effective line, and the image sensor 16 reads the image bydisplaying only about half of the size of one pixel in every effectiveline.

In this way, the checkered pixel plane composed of pixels of goodquality read from the image is obtained.

Synchronizing Method of Reading Line and Sensor Displacement

This is to describe the method of synchronizing the reading line andline image sensor displacement.

The following table shows the correspondence between the pixel symbolsin FIG. 7 described in the outline of interpolating method and used inexplanation of each interpolating method and pixel symbols in FIG. 7showing the reading pixels and interpolating pixels.

TABLE Correspondence table of pixel symbols in FIG. 8 and pixel symbolsin FIG. 7 Pixel symbol Pixel symbol in FIG. 7 Pixel symbol No. in FIG. 8Odd-number line Even-number line 1 Xc Xij Xij 2 Pn P(i − 1)j P(i − 1)j 3Pw Pij Pi(j − 1) 4 Pe Pi(j + 1) Pij 5 Ps P(i + 1)j P(i + 1)j 6 Xnw X(i −1)j X(i − 1)(j − 1) 7 Xne X(i − 1)(j + 1) X(i − 1)j

It is apparent from this table that the corresponding relationship ofpixel symbols differs between odd-number line and even-number line inFIG. 7 s compared with pixel symbols in FIG. 8, except for pixel symbolnumbers 1, 2 and 5. This is because the pixel is read in the even-numberline by moving to the right in the horizontal direction from theodd-number line by ½ of pixel spacing on the line sensor. It is henceknown that same processing cannot be done in odd-number and even-numberlines.

Although a method of processing by recognizing the odd and even lines onthe circuit technique can be adopted, but below s shown a method ofestablishing the position of line image sensor always at a specifiedposition when reading a first line, that is, an odd-number line.

In FIG. 18, reference numeral 67 denotes displacement of main scanningdirection of the image sensor, and PA and PB are image reading positionsat both ends. Reference numeral 38 is a, waveform of Hsync. When theimage sensor 16 reads the first and odd-number lines at the PA position,the interpolating methods described above can be applied, but whenreading at the PB position, the foregoing pixel interpolating methodscannot be applied.

First is explained about the process after the carriage 3 has reachedthe specified reading start position. As explained in FIG. 16, Hsync 38and image sensor position 67 are synchronized before the carriage 3reaches the reading start position. Already explained above, the (CPU 33detects first Hsync 38 as interrupt and clears the internal Hsyncquaternary counter (count value shown in 68 in FIG. 18) to 0 uponstarting point of operation of the actuator driving waveform generator34, and counts by quaternary notation (from 0 to 3) in Hsync 38.

As the CPU 33 counts the notice signals issued from the motor controller40, it detects that the carriage 3 has reached the reading startspecified position, and when the Hsync quaternary counter value 68reaches 0 as being counted by interruption If Hsync 38, that is, at themoment of the image sensor at PA position, reading operation is started.Thus, at the first reading line, the image sensor displacement 67 isalways at PA position. Thereafter, reading the image at positions of PB,PA, PB, . . . , the image sensor displacement on odd and even linesmaintains the specified relation, so that the pixel value interpolatingmethod described above can function normally.

Reading Interrupt, Resume Processing

When restarting reading after interruption of image reading, a method ofcontrolling securely the carriage position and line image sensordisplacement is described below.

In the case of the image reading apparatus connected to the host system,if the processing speed of the host system side is slow and the imagedata from the image reading apparatus cannot be received, the imagereading apparatus stores data temporarily in the buffer 31 shown in FIG.15 if it is not full. But when this buffer 31 becomes full, the imagereading apparatus 1 temporarily interrupts the image reading operation.Consequently, when the host system reads in the image data stored in thebuffer 31 through the interface 32, and the buffer 31 becomes somewhatempty, the image reading apparatus 1 resumes (restarts) the imagereading operation.

When resuming the reading operation, it is necessary to control theposition of the carriage 3 and the direction of the image sensordisplacement 67 securely. For this purpose, the CPU 33 detects transferto the buffer full state by the interrupt signal (buffer monitor signal)generated by the buffer state controller 39 which controls the state ofthe buffer 31, and interrupts reading, but the precise positioninformation of the carriage 3 at this time and the Hsync quaternarycounter value are measured and stored. Afterwards, the CPU 33 drives thecarriage 3 in a reverse direction of reading direction by a slightamount, and gets ready for restart of reading. By the buffer monitorsignal checking periodically, when the cancellation of buffer full state(buffer empty) is detected, the CPU 33 drives again the carriage 3 atthe specified speed in the reading direction. According to the preciseposition information of the carriage and the Hsync quaternary countervalue, reading is resumed from the next line of occurrence of bufferfull state in the specified image sensor displacement direction.

In this way, even if reading is interrupted, image reading can becontinued favorably, with keeping continuity of a straight line on theoriginal and without difficulty in application of the pixel valueinterpolating method.

The reading interrupting and resuming process is further described belowwhile referring to FIG. 19, FIG. 20 and FIG. 21.

A counter 69, a counter 72, and a counter 75 shown in FIG. 19 count upas shown in FIG. 20(a), (c), (f), respectively by the clock signalgenerated by a clock signal generator 78. A set value 94 is stored in aregister 70, and when the count value of the, counter 69 reaches the setvalue 94, the counter 72 and counter 75 are reset to 0 together with thecounter 69 by the coincidence signal issued from a comparator 79, andstarts to count-up again.

In a register 71, a set value 95 of half of the set value 94 is stored.The comparator 79 issues a coincidence signal when the count value ofthe counter 69 and the set value 94 of the register 70 are matched, anda comparator 80 issues a coincidence signal when the count value of thecounter 69 and the set value 95 of the register 71 are matched, and theyare fed into an output controller 84. The output controller 84 rendersthe output High by the coincidence signal from the comparator 80, andrenders the output Low by the coincidence signal from the comparator 79.Thus, a pulse train of output 96 (FIG. 20(b)) of the output controller84 is obtained. This output 96 is fed into the motor driver 85, andcontrols the rotation of the motor 41.

Incidentally, a set value 97 of a register 73 is set as

Set value 97=(set value 94+set value 95)/2, and a set value 98 of aregister 74 is set as

Set value 98=set value 95/2.

A comparator 81, when the count value of the counter 72 and the setvalue 97 of the register 73 are matched, issues a coincidence signal,and a comparator 82 issues a coincidence signal when the count value ofthe counter 72 and the set value 98 of the register 74 are matched, andthey are fed into an output controller 86. The output controller 86renders the output High by the coincidence signal from the comparator82, and renders the output Low by the coincidence signal from thecomparator 81. Thus, a pulse train of output 99 (FIG. 20(d)) of theoutput controller 86 is obtained.

By thus defining the relationship of the set value 94, set value 95, setvalue 97, and set value 98, as shown in FIG. 20(b) and (d), the pulsetrain of the output 99 of the output controller 86 is set at a phasedifference of 90° delay of the pulse train of the output 96 of theoutput controller 84.

The output 96 of the output controller 84 and the output 99 of theoutput controller 86 are fed in the counter 88, and the counter 88 whichis a phase counter functions as up- or down-counter depending on thephase difference of two inputs. The count value of the counter 88 isstored in the register 89 at every input of Hsync 38, and wheninterruption occurs by Hsync 38, the CPU 33 reads the value of theregister 89 only when the Hsync quaternary counter value explained inFIG. 18 is 0, and stores, for example, two past values (PO1H and PO2H(FIG. 20(e)) as rough position information 100). Since the values ofPO1H and PO2H are count values being counted up at every motor drivestep, the carriage position upon occurrence of Hsync 38 is measuredroughly.

On the other hand, upon every input of Hsync 38, the count value of thecounter is stored in the register 76, and when interruption occurs bythe Hsync 38, the CPU 33 reads the value of the register 76 only whenthe Hsync quaternary count value explained in FIG. 18 is 0, and stores,for example, two past values (PO1L and PO2L (FIG. 20(f)) as preciseposition information 101). Although the precise position information 101does not directly express the motor driving status, the motor is drivenalmost at uniform speed in the driving pulse period issued to the motorand the motor power is transmitted through a belt or the like, andtherefore the finally driven carriage is regarded to be driven artalmost uniform speed, so that the precise position information 101 maybe assumed to be the interpolation information of the carriage positionbetween motor excitation pulses. In other words, POP1L and PO2Lprecisely measures the carriage position upon occurrence of Hsync 38.

In the image reading apparatus of the embodiment, the hardware isdesigned so that the image data may be valid up to Hsync 38 just beforethe buffer full state. The generation of buffer full state is fed fromthe buffer state controller 39 to the CPU 33, but when the buffer fullstate occurs, the hardware reads the image data and stops dataprocessing without resort to the CPU 33.

When the CPU 33 detects the buffer full state, it stops driving of theactuator and stops the image sensor displacement 67, and the motor 41 isstopped immediately, and the output signal generation rule of the outputcontroller 86 is changed, so that the pulse train of reverse polarity isissued. As a result, the pulse train of the output 99 of the outputcontroller 86 is advanced in phase by 90 degrees from the pulse train ofthe output 96 of the output controller 84 and the phase deviationdirection is reverse, and therefore the counter 88 which is the phasecounter functions as a down-counter.

The CPU 33 stores the Hsync quaternary count value when the buffer fullstate occurs (3 in the example of FIG. 20(g)). Consequently, the CPU 33drives the motor in reverse direction of the reading direction, andmoves the carriage 3 to an upstream position (reverse direction ofreading direction) from the already stored PO1H and PO1L positions, andthen stops the motor 41 and waits for cancellation of buffer full state.

The operation when the buffer full state is canceled is described belowwhile referring to FIG. 19 and FIG. 21. FIG. 21(a) to (i) are timingcharts showing the operation of the motor controller 40 at the bufferfull cancellation point.

When recognizing cancellation of buffer full state transmitted from thebuffer state controller 39, the CPU 33 writes the PO1H in as a set value102 of the register 90, and further writes POlL as a set value 104 ofthe register 77 (FIG. 21(b), (d)). The motor 41 returning to a positionin a reverse direction of the reading direction is driven in the readingdirection.

By writing PO1L as the set value 104 of the register 77, the comparator83 drives the motor 41, and issues a coincidence signal to the outputcontroller 87 when the values of the counter 75 repeating counting upand resetting and the value of register 77 are matched. The outputcontroller 87 issues so-called toggle signals, repeating Low and Highalternately upon every reception of coincidence signal (output 105 ofoutput controller 87 shown in FIG. 21(e)). Both edges of this togglesignal are detected by a both-edge detector 92, and pulse signalscorresponding to both edge positions are issued (output 106 of both-edgedetector 92 shown in FIG. 21(f)).

On the other hand, by writing PO1H as the set value 102 of the register90, the comparator 91 compares the value of the counter 88 counted upwith driving the motor 41 and the value set in the register 90, and whencoinciding, issues a coincidence signal to the gate circuit 93 (output103 of comparator 91 shown in FIG. 21(c)). In the gate circuit 93, afterthe output 103 of the comparator 91 is entered, an interruption signalis generated to the CPU 33 when the next output 106 of the both-edgedetector 92 occurs (output 107 of gate circuit 93 shown in FIG. 21(g)).The CPU 33, when detecting this interruption signal at the positionindicated by position 108, resets the Hsync 38, and starts driving ofactuator in the method already explained in FIG. 16, and starts theimage sensor displacement 67. The image sensor displacement 67 does notrespond in real time right after output of the pattern data fordisplacement to the actuator, but displaces in specified amplitude ifthere is time for about two cycles.

As mentioned above, the CPU 33 stores the buffer full state occurrenceposition as the position 109 shown in FIG. 21(h) according to the Hsyncquaternary count value. Since the buffer full state occurs on theeffective final line, the line to be read next is the second Hsyncposition after the position 109 (in FIG. 21(h), only Hsync indicated bycircle or triangle mark is valid). Therefore, the CPU 33 starts hardwareoperation right after detection of Hsync of position 110 in FIG. 21(h),and the image data can be read accurately from the next line of thebuffer full state occurrence line.

Thus, while reading the image, according to the reference value of theHsync quaternary count value, the precise position information of thecarriage is measured and stored, and upon occurrence of buffer fullstate, the carriage is returned by a slight distance, and according tothe stored carriage position information, the Hsync is reset, and byfurther controlling the image sensor displacement, when the carriagereaches the line position to be read after cancellation of buffer fullstate, the image sensor displacement (and amplitude) can be restored tothe normal state. Thus, if buffer full state should occur, it ispossible to be continued to read the image favorably.

INDUSTRIAL APPLICABILITY

As described rein, the invention presents a novel method of displacingadequately a line image sensor when reading image and obtaining acheckered pixel plane, by displacing reciprocally in a distance of halfpixel spacing also in the main scanning direction when moving the lineimage sensor at every half of the pixel spacing of the sensor in thesub-scanning direction, and a method of obtaining a checkered pixelplane of good quality by improvement of control method when interruptingand resuming and also a new method of interpolating the pixels in theinterval of the pixel plane. The principle of the interpolating methodis a method of enhancing the resolution in the main and sub-scanningdirections by selecting and interpolating the optimum one of the pluralinterpolation candidate values by making use of the information of theread checkered pixels in the main and sub-scanning directions, andparticularly reproducing the edges of the original image at an excellentcontrast. It contributes to advancement of three electronic society, inparticular, the multimedia society.

What is claimed is:
 1. An image reading apparatus comprising: a lightsource illuminating a placed original, a line image sensor havingphotoelectric converters arranged in a line, which reads a line of theoriginal with its reflected light or transmitted light, a movingmechanism moving the line image sensor in orthogonal direction of linedirection, which reads the original line by line, whereby reads theoriginal into a two-dimensional image plane, an actuator displacing thesaid line image sensor slightly in the line direction by every line,whereby reading the image in a checkered pattern of pixels at differentposition in every line, and interpolating means for interpolating apixel in spaces of the checkered pattern of read-in pixels, whichdetermines plural interpolation candidate values for the pixel values ofpixels around the pixel position to be interpolated, except pixels atspecified positions, selects one of the said candidate values accordingto the pixel around the pixel position to be interpolated, andinterpolates the pixel position to be interpolated with the selectedpixel value; wherein the said interpolation candidate values are averagevalues of plural set of two pixels around the pixel position to beinterpolated, the set of two pixels of the smallest difference among thesets of two pixels is determined, and the interpolation candidate valueobtained from the set of two pixels is selected.
 2. An image readingapparatus according to claim 1, wherein the said interpolation candidatevalues are average values of each set of two pixels of all of adjacentfour pixels to the pixel position to be interpolated.
 3. An imagereading apparatus according to claim 2, wherein the set of two pixels ofminimum difference is determined among sets of two pixels, and when theset of two pixels is in the line direction or orthogonal to the linedirection, the interpolation candidate value obtained from the set oftwo pixels is selected, or when the determined set of two pixels crossesdiagonally to the liner direction, the interpolation candidate value isselected by referring to the value of the pixels already interpolated inthe direction.
 4. An image reading apparatus according to claim 1,wherein the staid interpolation candidate values are average values ofeach set of two pixels in a line direction and in its orthogonaldirection among adjacent four pixels to the pixel position to beinterpolated.
 5. An image reading apparatus according to claim 1 whereinthe said pixels of a specified positions are pixels on four borders of aimage plane, and the said pixels are interpolated by using values ofsets of two adjacent pixels in the border direction.
 6. An image readingapparatus according to claim 1, wherein the said actuator displaces aline image to a specified position on a first line to be read.
 7. Animage reading apparatus according to claim 1, wherein if interruptionoccurs in the midst of image reading action, the said actuator displacesthe said line image sensor to the displacing position at the moment ofinterruption when reading a first line after restart.
 8. An imagereading apparatus according to claim 1, wherein the said actuatorcontrols move of the line image sensor in the line direction effectivelyin a stopped state during image reading period of a line.
 9. An imagereading apparatus comprising: a light source illuminating a placedoriginal, a line image sensor having photoelectric converters arrangedin line, which reads a line of the original with its reflected light ortransmitted light, a moving mechanism moving the line image sensor inorthogonal direction of line direction, which reads the original line byline, whereby reads the original into a two-dimensional image plane, anactuator displacing the said line image sensor slightly in the linedirection by every line, whereby reading the image in a checkeredpattern of pixels at different position in every line, and interpolatingmeans for interpolating a pixel in spaces of the checkered pattern ofread-in pixels, which determines plural interpolation candidate valuesfor the pixel values of pixels around the pixel position to beinterpolated, except pixels at specified positions, selects one of thesaid candidate values according to the pixel around the pixel positionto be interpolated, and interpolates the pixel position to beinterpolated with the selected pixel value; wherein in case of readingthe original into plural primary color image planes, the saidinterpolating means determines plural interpolation candidate values ineach one of plural primary color planes, selects one of the saidcandidate values is selected according to the luminosity value of thepixels around the pixel position to be interpolated, and interpolatesthe pixel position to be interpolated in each primary color plane withthe each selected candidate value.
 10. An image reading apparatuscomprising: a light source illuminating a placed original, a line imagesensor having photoelectric converters arranged in line, which reads aline of the original with its reflected light or transmitted light, amoving mechanism moving the line image sensor in orthogonal direction ofline direction, which reads the original line by line, whereby reads theoriginal into a two-dimensional image plane, an actuator displacing thesaid line image sensor slightly in the line direction by every line,whereby reading the image in a checkered pattern of pixels at differentposition in every line, and interpolating means for interpolating apixel in spaces of the checkered pattern of read-in pixels, whichdetermines plural interpolation candidate values for the pixel values ofpixels around the pixel position to be interpolated, except pixels atspecified positions, selects one of the said candidate values accordingto the pixel around the pixel position to be interpolated, andinterpolates the pixel position to be interpolated with the selectedpixel value; wherein in case of reading the original into plural primarycolor image planes, the said interpolating means determines pluralinterpolation candidate values in each one of plural primary colorplanes, selects one of the said candidate values is selected accordingto the value of the pixels around the pixel position to be interpolated,in a predetermined primary color plane, and interpolates the pixelposition to be interpolated in each primary color plane with the eachselected candidate value.